package com.ourteam.product.model.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 IRKT 2017
 * Auto Generate Date : 2017-11-17 11:00:39
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseProductModelObjectDAO extends IDataAccessInterface<ProductModelObject, ProductModelObjectDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "PRODUCT_MODEL_OBJECT";

    /**
     * Mapped Field ID
    */
    static final String Id = "PRODUCT_MODEL_OBJECT.ID";

    /**
     * Mapped Field PACKAGE_ID
    */
    static final String PackageId = "PRODUCT_MODEL_OBJECT.PACKAGE_ID";

    /**
     * Mapped Field OBJECT_CODE
    */
    static final String ObjectCode = "PRODUCT_MODEL_OBJECT.OBJECT_CODE";

    /**
     * Mapped Field OBJECT_NAME
    */
    static final String ObjectName = "PRODUCT_MODEL_OBJECT.OBJECT_NAME";

    /**
     * Mapped Field OBJECT_TYPE
    */
    static final String ObjectType = "PRODUCT_MODEL_OBJECT.OBJECT_TYPE";

    /**
     * Mapped Field IS_GENERATE
    */
    static final String IsGenerate = "PRODUCT_MODEL_OBJECT.IS_GENERATE";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "PRODUCT_MODEL_OBJECT.STATUS";

    /**
     * Mapped Field REMARKS
    */
    static final String Remarks = "PRODUCT_MODEL_OBJECT.REMARKS";

    /**
     * Mapped Field SUBMITTER_ID
    */
    static final String SubmitterId = "PRODUCT_MODEL_OBJECT.SUBMITTER_ID";

    /**
     * Mapped Field CREATOR_NAME
    */
    static final String CreatorName = "PRODUCT_MODEL_OBJECT.CREATOR_NAME";

    /**
     * Mapped Field CREATE_TIME
    */
    static final String CreateTime = "PRODUCT_MODEL_OBJECT.CREATE_TIME";

    /**
     * Mapped Field LAST_MODIFIER_NAME
    */
    static final String LastModifierName = "PRODUCT_MODEL_OBJECT.LAST_MODIFIER_NAME";

    /**
     * Mapped Field LAST_MODIFY_TIME
    */
    static final String LastModifyTime = "PRODUCT_MODEL_OBJECT.LAST_MODIFY_TIME";

    /**
     * Mapped Attribute domainId
    */
    static final String DomainId = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPackageDAO.DomainId,
            com.ourteam.product.model.dao.IProductModelPackageDAO.EntityName +
            ".", "PRODUCT_MODEL_PACKAGE.");

    /**
     * Mapped Attribute packageName
    */
    static final String PackageName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPackageDAO.PackageName,
            com.ourteam.product.model.dao.IProductModelPackageDAO.EntityName +
            ".", "PRODUCT_MODEL_PACKAGE.");

    /**
     * Mapped Attribute domainName
    */
    static final String DomainName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelDomainDAO.DomainName,
            com.ourteam.product.model.dao.IProductModelDomainDAO.EntityName +
            ".", "PRODUCT_MODEL_DOMAIN.");

    /**
     * Mapped Attribute domainCode
    */
    static final String DomainCode = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelDomainDAO.DomainCode,
            com.ourteam.product.model.dao.IProductModelDomainDAO.EntityName +
            ".", "PRODUCT_MODEL_DOMAIN.");

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    ProductModelObject findById(final long id) throws Exception;

    /**
         * Query Related ProductModelProperty
         * @param aQueryBean
         * @throws Exception
         */
    com.ourteam.product.model.dao.ProductModelProperty[] queryProductModelProperty(
        final ProductModelObjectDAOQueryBean queryBean)
        throws Exception;

    /**
         * Query Related ProductModelProperty Selective
         * @param queryBean
         * @throws Exception
         */
    java.util.Map<String, Object>[] queryProductModelPropertySelective(
        final ProductModelObjectDAOQueryBean queryBean)
        throws Exception;

    /**
         * Update Related ProductModelProperty
         * @param aProductModelProperty
         * @param queryBean
         * @throws Exception
         */
    void updateProductModelProperty(
        final com.ourteam.product.model.dao.ProductModelProperty aProductModelProperty,
        ProductModelObjectDAOQueryBean queryBean) throws Exception;

    /**
         * Delete Related ProductModelProperty
         * @param queryBean
         * @throws Exception
         */
    void deleteProductModelProperty(
        final ProductModelObjectDAOQueryBean queryBean)
        throws Exception;

    /**
         * Query Related ProductModelObjectRelate
         * @param aQueryBean
         * @throws Exception
         */
    com.ourteam.product.model.dao.ProductModelObjectRelate[] queryProductModelObjectRelate(
        final ProductModelObjectDAOQueryBean queryBean)
        throws Exception;

    /**
         * Query Related ProductModelObjectRelate Selective
         * @param queryBean
         * @throws Exception
         */
    java.util.Map<String, Object>[] queryProductModelObjectRelateSelective(
        final ProductModelObjectDAOQueryBean queryBean)
        throws Exception;

    /**
         * Update Related ProductModelObjectRelate
         * @param aProductModelObjectRelate
         * @param queryBean
         * @throws Exception
         */
    void updateProductModelObjectRelate(
        final com.ourteam.product.model.dao.ProductModelObjectRelate aProductModelObjectRelate,
        ProductModelObjectDAOQueryBean queryBean) throws Exception;

    /**
         * Delete Related ProductModelObjectRelate
         * @param queryBean
         * @throws Exception
         */
    void deleteProductModelObjectRelate(
        final ProductModelObjectDAOQueryBean queryBean)
        throws Exception;

    static public interface DataProperty {
        /**
         * Attribute packageId
         */
        static final String PackageId = "packageId";

        /**
         * Attribute objectCode
         */
        static final String ObjectCode = "objectCode";

        /**
         * Attribute objectName
         */
        static final String ObjectName = "objectName";

        /**
         * Attribute objectType
         */
        static final String ObjectType = "objectType";

        /**
         * Attribute isGenerate
         */
        static final String IsGenerate = "isGenerate";

        /**
         * Attribute status
         */
        static final String Status = "status";

        /**
         * Attribute remarks
         */
        static final String Remarks = "remarks";

        /**
         * Attribute packageName
         */
        static final String PackageName = "packageName";

        /**
         * Attribute domainCode
         */
        static final String DomainCode = "domainCode";

        /**
         * Attribute domainName
         */
        static final String DomainName = "domainName";

        /**
         * Attribute domainId
         */
        static final String DomainId = "domainId";

        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute submitterId
         */
        static final String SubmitterId = "submitterId";

        /**
         * Attribute creatorName
         */
        static final String CreatorName = "creatorName";

        /**
         * Attribute createTime
         */
        static final String CreateTime = "createTime";

        /**
         * Attribute lastModifierName
         */
        static final String LastModifierName = "lastModifierName";

        /**
         * Attribute lastModifyTime
         */
        static final String LastModifyTime = "lastModifyTime";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
